package br.com.fogas.database.dao.impl;

import java.sql.SQLException;
import java.util.List;

import br.com.fogas.database.FogasDatabase;
import br.com.fogas.database.IMetadata.INotaOcorrencia;
import br.com.fogas.database.dao.INotaOcorrenciaDao;
import br.com.fogas.database.entidade.NotaOcorrencia;
import br.com.fogas.database.entidade.PlanoVisitas;

import com.j256.ormlite.dao.BaseDaoImpl;
import com.j256.ormlite.stmt.QueryBuilder;

public class NotaOcorrenciaDao extends BaseDaoImpl<NotaOcorrencia, Integer> implements INotaOcorrenciaDao {

	private FogasDatabase database;

	public NotaOcorrenciaDao(FogasDatabase database) throws SQLException {
		super(database.getConnectionSource(), NotaOcorrencia.class);
		this.database = database;
	}
	
	public FogasDatabase getDatabase() {
		return database;
	}

	@Override
	public NotaOcorrencia ultimaOcorrenciaPorPlano(PlanoVisitas planoVisitas)
			throws SQLException {
		QueryBuilder<NotaOcorrencia, Integer> query = queryBuilder();
		query.where().eq(INotaOcorrencia.tx_plano_visita, planoVisitas);
		//ordenar desc
		List<NotaOcorrencia> ocorrencias = query.orderBy(INotaOcorrencia.id, false).query();
		
		NotaOcorrencia notaOcorrencia = null;
		
		if(!ocorrencias.isEmpty())
			notaOcorrencia = ocorrencias.get(0);
			
		return notaOcorrencia;
	}
}
